A Relational Database Management System (RDMS) is a database management system that is based on the relational database model. A database management system may be a software application (which may execute on one or more hardware resources) providing the interface between users (e.g., database tasks) and a database or databases. The RDMS provides for storing data in a database, defining and manipulating data structures from the database, updating data in the database, deleting data in the database, inserting data in the database, retrieving data from the database, administering the database and other functions.
An RDMS operates on the concept of transactions. A transaction is a unit of work performed within a database management system against a database, and is treated in a coherent and reliable way independent of other transactions. A transaction typically ends with the issuance of a COMMIT instruction and may contain one or more database changes.
RDMS systems sometimes feature database replication. Database replication involves replication of transactional data in a RDMS across one or multiple databases to allow for multiple copies of the database to be stored in multiple electronic locations. In some examples, this may be desirable so as to provide distributed access, allow users to better share information, and to provide backup copies of the database. Replication of data from a database in a RDMS is often achieved by replicating transaction log records from the database transaction log (hereinafter the primary database) which are written when data stored in that same database is changed. The database transaction log may comprise a history of the modifications (transactions) done in the database.